package com.example.kbase.util;

import android.app.Activity;
import android.app.Application;

import java.util.ArrayList;
import java.util.List;

public class MyApplication extends Application {
    private List<Activity> oList;//用于存放所有启动的Activity的集合

    public void onCreate() {
        super.onCreate();
        oList = new ArrayList<>();
    }

    /**
     * 添加Activity
     */
    public void addActivity_(Activity activity) {
// 判断当前集合中不存在该Activity
        if (!oList.contains(activity)) {
            oList.add(activity);//把当前Activity添加到集合中
        }
    }

    /**
     * 销毁单个Activity
     */
    public void removeActivity_(Activity activity) {
//判断当前集合中存在该Activity
        if (oList.contains(activity)) {
            oList.remove(activity);//从集合中移除
            activity.finish();//销毁当前Activity
        }
    }

    /**
     * 销毁所有的Activity
     */
    public void removeALLActivity_() {
        //通过循环，把集合中的所有Activity销毁
        for (Activity activity : oList) {
            activity.finish();
        }
    }
}

//    <创建BaseActivity 继承 Activity> 用于管理所有的Activity，所有的Activity都继承这个类
//
//public class BaseActivity extends Activity {
//    private myApplication application;
//    private BaseActivity oContext;
//
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//
//        if (application == null) {
//            // 得到Application对象
//            application = (myApplication) getApplication();
//        }
//        oContext = this;// 把当前的上下文对象赋值给BaseActivity
//        addActivity();// 调用添加方法
//    }
//
//    // 添加Activity方法
//    public void addActivity() {
//        application.addActivity_(oContext);// 调用myApplication的添加Activity方法
//    }
//    //销毁当个Activity方法
//    public void removeActivity() {
//        application.removeActivity_(oContext);// 调用myApplication的销毁单个Activity方法
//    }
//    //销毁所有Activity方法
//    public void removeALLActivity() {
//        application.removeALLActivity_();// 调用myApplication的销毁所有Activity方法
//    }
//
//    /* 把Toast定义成一个方法  可以重复使用，使用时只需要传入需要提示的内容即可*/
//    public void show_Toast(String text) {
//        Toast.makeText(oContext, text, Toast.LENGTH_SHORT).show();
//    }
//}